home *** CD-ROM | disk | FTP | other *** search
/ Libris Britannia 4 / science library(b).zip / science library(b) / PROGRAMM / PASCAL / H406.ZIP / TOTSRC11.ZIP / README < prev    next >
Text File  |  1993-05-04  |  26KB  |  576 lines

  1.                   WELCOME TO TECHNOJOCK'S OBJECT TOOLKIT
  2.                   --------------------------------------
  3.  
  4.   This README file contains important information about TechnoJock's
  5.   Object Toolkit (TOT) version 1.10. For the latest information about
  6.   TOT, the accompanying programs and the manual, read this file in
  7.   its entirety. To print this file, just press T and specify a printer
  8.   port or a filename.
  9.  
  10.  
  11.                   TABLE OF CONTENTS
  12.                   -----------------
  13.                   1.  Usage Hints
  14.                   2.  Using the Demos
  15.                   3.  TOT Enhancements and Undocumented Features
  16.                   4.  The Norton Guides TOT Database
  17.                   5.  Files on the Disks
  18.                   6.  Shareware
  19.                   7.  Printing the Manual
  20.                   8.  Installation
  21.                   9.  Association of Shareware Professionals
  22.  
  23.               +----------------------------------------------+
  24.               |  P a r t   1    -    U s a g e   H i n t s   |
  25.               +----------------------------------------------+
  26.  
  27. Many of you will want to start using the Toolkit immediately. However, we
  28. really do recommend that you read the first three chapters of the User's 
  29. Manual before you start coding. Ideally, you should read the entire 
  30. manual - after all, we wrote it in the hope that you would!
  31.  
  32. If you insist on using the Toolkit without reading the documentation, at 
  33. least follow these hints:
  34.  
  35.    1)  The Toolkit includes the following, globally declared and initialized
  36.        objects:
  37.  
  38.               SCREEN       - for writing to the visible screen
  39.               KEY          - for accessing the keyboard
  40.               MOUSE        - for controlling the mouse location and shape
  41.               MONITOR^     - a POINTER to an object controlling display 
  42.                              characteristics
  43.               LOOKtot^     - a POINTER to an object controlling default 
  44.                              colors, etc. 
  45.               SHADOWtot^   - a POINTER to an object controlling shadow
  46.                              characteristics
  47.               SCROLLtot^   - a POINTER to an object controlling scroll bar
  48.                              characteristics
  49.               DATEtot^     - a POINTER to an object controlling date
  50.                              characteristics
  51.               IOtot^       - a POINTER to an object controlling the form
  52.                              input defaults
  53.               ALPHABETtot^ - a POINTER to an object controlling how the
  54.                              TOOLKIT manipulates upper- and lower-case chars
  55.  
  56.    2)   If you create any other object instances (i.e. variables), make
  57.         sure you call the INIT method before any others, and the DONE method
  58.         when you are finished. The following code fragment illustrates how you
  59.         could use the ScreenOBJ object to save and restore the visible screen:
  60.  
  61.              var  SaveScreen: ScreenOBJ;
  62.              begin
  63.                 SaveScreen.Init;
  64.                 SaveScreen.Save;
  65.                 {...}
  66.                 {other procs which write to the screen}
  67.                 {...}
  68.                 SaveScreen.Display;
  69.                 SaveScreen.Done;
  70.              end;
  71.  
  72.         IMPORTANT NOTE: don't call the INIT and DONE methods for the
  73.         global instances described in hint 1).
  74.  
  75.    3)   Enable the FINAL directive in the TOTFLAGS.INC file to minimize
  76.         program size.
  77.  
  78.    4)   Run the demos to see how each unit can be used (discussed next).
  79.  
  80.             +---------------------------------------------------+
  81.             |  P a r t   2    -    U s i n g  t h e  D e m o s  |
  82.             +---------------------------------------------------+
  83.  
  84. There are over 80 demo programs in the Toolkit. The majority of these 
  85. demos are designed to illustrate a specific finite part of the Toolkit. They 
  86. are referred to at the appropriate places in the documentation. Listed below 
  87. is a summary of the demo files:
  88.  
  89.                      DEMBR1-5    Browse demos   
  90.                      DEMBX1-3    Box demos
  91.                      DEMCU1      Cursor demo
  92.                      DEMDR1-7    Directory demos
  93.                      DEMDT1-2    Date demos
  94.                      DEMEX1-2    DOS EXEC demos
  95.                      DEMFS1-2    Screen writing demo
  96.                      DEMIN1-4    Keyboard and mouse input demo
  97.                      DEMIO1-24   Form Input demos
  98.                      DEMLK1-2    Link list demos
  99.                      DEMLS1-9    List demos
  100.                      DEMMN1-9A   Menu emos
  101.                      DEMMS1-8    Message demos
  102.                      DEMOV1-2    Overlay demos
  103.                      DEMSC1      Scroll bar demo
  104.                      DEMSH1      Shadow demo
  105.                      DEMST1-3    String demos
  106.                      DEMSY1      System demo
  107.                      DEMVI1      Virtual screen demo
  108.                      DEMWI1-4    Window demos
  109.                      DEMWR1      Screen writing demo
  110.                      EXTDEM1-8   Extension demos
  111.                      TOTDEMO     Overall Demo
  112.  
  113. If your goal is to appreciate the power of the Toolkit, then consider 
  114. running the following demos (as well as being educational, they have visual 
  115. impact):
  116.                       TOTDEMO
  117.                       DEMIO21,22
  118.                       DEMLS9
  119.                       DEMMN9
  120.                       DEMBR5
  121.  
  122. A special thank-you to George Butts and George Bean, two Toolkit users who
  123. have generously given us some programs they developed with the Toolkit. Try 
  124. running the programs
  125.           
  126.                      TBROWSE
  127.                      TELE
  128.  
  129. to see how easy the Toolkit is to use!
  130.   
  131.  
  132.               +-----------------------------------------------+
  133.               |  P a r t   3    -    E n h a n c e m e n t s  |
  134.               +-----------------------------------------------+
  135.  
  136. This section identifies any last minute changes that have been made since
  137. the documentation was printed. The following topics are discussed:
  138.  
  139.                   1) International Customization
  140.                   2) Additions to totMISC
  141.                   3) Key Constants
  142.                   4) Further IO Extensions
  143.                   5) Additional Methods
  144.                   6) Overlaying the Toolkit
  145.  
  146. 1) INTERNATIONAL CONSIDERATIONS
  147. ===============================
  148. The TOTIO2.PAS unit includes the following declarations:
  149.  
  150.    CONST
  151.    NumberError: array[1..2] of string[60] =
  152.    (' The number you entered is out of range. ',
  153.     ' Enter a number in the following range: ');
  154.    DateError: array[1..6] of string[60] = 
  155.    (' The date you entered is invalid. ',
  156.     ' Enter a date in the format:',
  157.     ' The date you entered is too early. ',
  158.     ' The earliest acceptable date is: ',
  159.     ' The date you entered is too late. ',
  160.     ' The latest acceptable date is: ');
  161.  
  162. NumberError is an array of strings with two elements. These two elements
  163. represent the text that is displayed if an out-of-range value is
  164. entered in an IO field. 
  165.  
  166. DateError is an array of strings with six elements. This array includes
  167. three pairs of strings which represent the various messages which are
  168. displayed when an invalid or out-of-range date is entered in a date field.
  169.  
  170. Similarly, the totLINK unit includes the following declaration:
  171.   Const
  172.   NoFiles: string[20] = 'No Files';
  173.  
  174. The text is displayed in directory listings when no file is found.
  175.  
  176. You may customize these messages as necessary.
  177.  
  178. Refer to the Toolkit documentation on AlphabetTOT and DateTOT for other
  179. customization considerations.
  180.  
  181.  
  182. 2) ADDITIONS to TOTMISC
  183. =======================
  184. The following procedures and functions have been added to the totMISC
  185. unit, and are not discussed in the manual:
  186.  
  187.   function  DeleteFile(Filename:string): shortint;
  188.        Deletes a file from the disk, and returns a shortint code as
  189.        follows:     -1    File not found
  190.                      0    File deleted
  191.                      1    Error - file not deleted.  
  192.  
  193.   function  RenameFile(Oldname,NewName:string):shortint;
  194.        Renames a file, and returns a shortint code as
  195.        follows:      0 file renamed
  196.                      1 file not found
  197.                      2 rename failed
  198.  
  199.   function  ValidFileName(FN:string): shortint;
  200.        Checks a fully qualified filename to see if it is valid, and
  201.        returns a shortint code as follows: 
  202.           -1     Path and name OK but file does not exist
  203.            0     Path and name OK and file exists
  204.            1     Illegal drive specifier
  205.            2     Illegal characters in path
  206.            3     Invalid Path
  207.            4     No file specified
  208.            5     Illegal Characters in name
  209.            6     Name longer than eight characters
  210.            7     Extension longer than three characters
  211.  
  212.   function  ParamLine: String;
  213.        Returns a string identifying all the items that were typed on
  214.        the command line after the program name. Each item is separated by
  215.        a single space, i.e. ' '.
  216.  
  217.   function  ParamVal(Marker:string): string;
  218.        Searches the parameters (typed when the program was executed) for
  219.        'Marker' and returns the item following.
  220.  
  221.   function  Frequency(Match:string;Source:string): byte;
  222.        Returns the number of occurences of match in Source.
  223.  
  224.   procedure ResetStartUpMode;
  225.        Sets the display mode and cursor style to the setting that was
  226.        active when the program was first executed.
  227.  
  228. The remaining three functions are used to run child programs, but remember to
  229. use the $M compiler directive to leave some memory for the child process.
  230. Refer to the demo files DEMEX1-2 for more information. All three functions
  231. return the Turbo Pascal DOSERROR code generated when the command was 
  232. executed.
  233.  
  234.   function  RunAnything(Command: string):integer;
  235.       Runs any DOS command or file with a BAT, COM or EXE extension, just
  236.       as though you had typed the command at DOS. This function uses a
  237.       secondary copy of COMMAND.COM.
  238.  
  239.   function  RunEXECOM(Progname, Params: string):integer;
  240.       Runs any EXE or COM program without needing a second installation
  241.       of COMMAND.COM. Progname is the name of the program, and Params is a
  242.       string representing the passed parameters.
  243.  
  244.   function  RunDOS(Msg:string):integer;
  245.       Drops the user to the DOS prompt. The user returns to the program
  246.       by typing EXIT. The Msg string parameter will be displayed as the
  247.       user is dropped to DOS. Normally, you should save the screen before
  248.       calling this function, and restore the screen when the user returns.
  249.  
  250. 3) Key Constants
  251. ================
  252.   A new unit, totKEY, has been included in the Toolkit. This unit includes
  253.   a set of global constants which represent the various keys which are
  254.   recognized by the Toolkit. All the constants begin with the letter k, and
  255.   may be followed by Alt, Ctl or Sft (for Alt, Ctrl and shift) as appropriate.
  256.   
  257.   For example, if you use totKEY in your program, you can use kF1 instead
  258.   of 315. Whilst easy to use, this unit does use some memory, and if
  259.   you are tight on memory, you may want to use 315!
  260.  
  261. 4) Further IO Extensions
  262. ========================
  263.   The unit EXTIO2.PAS provides (yet) another field type, namely, 
  264.   HotspotIOOBJ. This field allows you to designate any rectangular
  265.   area of the screen as a hot spot, and if the mouse is clicked in the
  266.   area, any of the tAction codes can be returned. The only method you should
  267.   call is the constructor which is defined as follows:
  268.  
  269.    constructor Init(X1,Y1,X2,Y2: byte;Act:tAction);
  270.  
  271.   This new object provides a way of integrating a status bar and a pull-down
  272.   menu with an IO session. The new demo file EXTENV1.PAS illustrates this
  273.   form of usage.
  274.  
  275.   The unit EXTIO3.PAS provides the objects DropArrayIOOBJ and DropLinkIOOBJ
  276.   both of which are descended from DropIOOBJ. These objects provide "drop-
  277.   down" lists similar to those used in Windows, and in Turbo's History
  278.   List fields. Refer to the source file for further information
  279.  
  280.   LEAVE FIELD HOOKS - a leave field hook can be used to validate whether
  281.   a field has acceptable data. The field hook procedure can be used to 
  282.   stop a user from exiting a field (by pressing TAB etc) by setting the
  283.   value of the Field ID passed parameter to StayPut. StayPut is a constant
  284.   declared in the TOTIO2 unit. See the demo file DEMIO24 for a full example.
  285.  
  286. 5) Additional Methods
  287. =====================
  288.  
  289.   A) TOTWIN - the method SetWinRestrict(On:boolean) has been added to
  290.      WinOBJ. This allows you to instruct the Toolkit whether to set
  291.      local window coordinates when a window is drawn.
  292.  
  293.   B) TOTINPUT - the method SetForceOff(On:boolean) has been added to
  294.      the MouseOBJ object. When set to true, the Toolkit is restricted from
  295.      displaying the mouse cursor on systems with a mouse installed. To run
  296.      a non-mousable (!) application on a system, you must call the following
  297.      two methods at the begininning of your program:
  298.  
  299.                  Key.SetMouseMethod(0);
  300.                  Mouse.SetForceOff(true);
  301.  
  302.      The method SetSlowDelay has been added to the KeyOBJ to allow the setting
  303.      of the length of time to wait for a second click of the mouse, i.e. a 
  304.      double click. The syntax of this procedure method is as follows:
  305.  
  306.        procedure KeyOBJ.SetSlowDelay(Del:integer);
  307.  
  308.  
  309.   C) TOTIO2 - the method SetValue(Hi:integer) has been added to the ListIOOBJ
  310.      method and is inherited by LinkIOOBJ and ArrayIOOBJ. This method allows 
  311.      you to set the value of the selected item in the list.
  312.  
  313.      The function method IsNull:boolean has been added to all objects
  314.      descended from SingleLineIOOBJ. This boolean function method returns
  315.      true if the field is empty.
  316.  
  317.   D) TOTLIST - the method GetSelectedPick was added to ListOBJ. This function
  318.      method is passed no parameters, and returns the node number, or array
  319.      index number of the highlighted item.
  320.  
  321.   E) TOTLIST - the method SetChangeDir was added to ListDirOBJ. This method
  322.      is passed a single boolean parameter. When false is passed, the user
  323.      can select a directory, i.e. when Enter is pressed, the highlighted
  324.      directory is returned (rather than changing to the selected directory).
  325.  
  326.   F) TOTIO1 - the method StopID was added to FormOBJ. This method returns
  327.      the ID of the active field (i.e. the one containing the cursor) at the
  328.      time the input edit session was terminated.
  329.  
  330.   G) TOTLIST - The method RefreshList was Added to LinkIOOBJ. Call this
  331.      method if you delete or add nodes to the link list attached to the
  332.      IO field
  333.  
  334.  
  335. 6) OVERLAYING THE TOOLKIT
  336. =========================
  337.  
  338. There are some inaccuracies in the Overlay section of chapter 3 (page 3-7)
  339. refer to the file OVERLAY.DOC for further information.
  340.  
  341.              +--------------------------------------------------+
  342.              |  P a r t   4    -    N o r t o n   G u i d e s   |
  343.              +--------------------------------------------------+
  344.  
  345. If you have a copy of the Norton Guides On-Line database engine, you are 
  346. in luck. The Toolkit inludes file TOT.NG is a Norton Help Guide to the 
  347. Toolkit. If you own the Norton Guides, you can use TOT.NG to provide you with 
  348. a degree of on-line help. If you don't own the Norton Guides, don't buy it 
  349. just to use TOT.NG, you're not missing that much!! 
  350.  
  351.           +--------------------------------------------------------+
  352.           |  P a r t   5    -    F i l e s  o n   t h e   D i s k  |
  353.           +--------------------------------------------------------+
  354.  
  355. The following files are included in the Toolkit:
  356.  
  357. Source Files:
  358.  
  359.              EXTFAST  PAS        Extensions to totFAST
  360.              EXTIO    PAS        Extensions to totIO
  361.              EXTLINK  PAS        Extensions to totLINK
  362.              EXTWIN   PAS        Extensions to totWIN
  363.              TOTBUILD PAS        Program for building all units
  364.              TOTDATE  PAS        Date management
  365.              TOTDIR   PAS        Directory display and file selection
  366.              TOTFAST  ASM        Assembly module for screen writing
  367.              TOTFAST  OBJ        Object file for TOTFAST.ASM
  368.              TOTFAST  PAS        Screen writing 
  369.              TOTFLAGS INC        Conditional defines and compiler directives
  370.              TOTINPUT PAS        Keyboard and mouse control
  371.              TOTIO1   PAS        Input objects
  372.              TOTIO2   PAS        Input objects
  373.              TOTIO2   INC        Input objects
  374.              TOTIO3   PAS        Input objects
  375.              TOTKEY   PAS        Key constants 
  376.              TOTLINK  PAS        Linked list manager
  377.              TOTLIST  PAS        Browse and list windows
  378.              TOTLOOK  PAS        Controls overall color defaults
  379.              TOTMENU  PAS        Menus
  380.              TOTMENU  INC        Menus
  381.              TOTMISC  PAS        Miscellaneous procedures and functions
  382.              TOTMSG   PAS        Message windows
  383.              TOTOVL   PAS        An overlay unit template
  384.              TOTREAL  PAS        Real type declarations
  385.              TOTSTR   PAS        String manipulation
  386.              TOTSYS   PAS        Hardware 
  387.              TOTWIN   PAS        Window management
  388.  
  389. Demonstration Files
  390.  
  391.              TOTDEMO  PAS        The main show-off demo program
  392.              DEMXXXX  PAS        Smaller demo programs (see section 2 above)
  393.              DEMXXXX  TXT,DBF    Resource files used by demo programs
  394.              EXTDEMX  PAS        Extending the Toolkit demos
  395.  
  396. Documentation Files
  397.  
  398.              XXXXXXX  TXT        On-disk documentation (see section 7 below)
  399.  
  400. Miscellaneous Files
  401.    
  402.              INSTALL  EXE       The Toolkit installation program
  403.              OVERLAY  DOC       Unit Dependencies for Overlay Initialization
  404.              README   COM       This file!
  405.              REGISTER DOC       Registration data for Toolkit evaluators
  406.              VENDOR   DOC       Instructions and restrictions for ShareWare
  407.                                 vendors.
  408.  
  409.  
  410.               +-----------------------------------------+
  411.               |  P a r t   6    -    S H A R E W A R E  |
  412.               +-----------------------------------------+
  413.  
  414.                     HERE'S HOW SHAREWARE WORKS:
  415.  
  416. You are encouraged to copy the TOT diskettes and share them freely with
  417. others. You have the luxury of trying out the complete programs, at your own
  418. pace and in the comfort of your own home or workplace. This is not a crippled
  419. or demo copy, but the complete working version of the program.
  420.  
  421. After you have used TOT for a reasonable evaluation period (not to exceed
  422. 90 days) you must either stop using it or buy a licensed copy from TechnoJock
  423. Software, Inc. or from an authorized dealer. The file REGISTER.DOC includes
  424. all the information you need to buy the Toolkit. If you cannot find the file,
  425. or if you have any questions, don't hestitate to call or write to:
  426.  
  427.                       TechnoJock Software, Inc.
  428.                       PO Box 820927
  429.                       Houston TX 77282
  430.                       USA
  431.  
  432.                       Voice (713) 493-6354
  433.                       Fax   (713) 493-5872
  434.  
  435.                       Compuserve 74017,227
  436.                       MCI Mail   TECHNOJOCK
  437.  
  438.  
  439. Why pay at all?
  440. ----------------------------------------------------------------------
  441.    *  You receive the most CURRENT copy of the program
  442.    *  You receive the printed manuals (typeset and bound) and Quick Reference
  443.    *  Notification of updates and new products
  444.    *  Your input and ideas help shape future products
  445.    *  A sense of pride and ownership, by having honestly participated
  446.       in the Shareware revolution
  447.    *  The satisfaction of helping to keep software prices down, by supporting
  448.       a distribution method which doesn't depend on expensive advertising
  449.       campaigns
  450.  
  451. So please dive in and enjoy the fun of legally sharing good software with
  452. your friends and associates. The following restrictions are designed to
  453. protect the community of Shareware users and to prevent others from taking
  454. unfair advantage of the trust, hard work and good will of Shareware authors.
  455. Exceptions to these conditions must be received in writing from TechnoJock
  456. Software, Inc.
  457.  
  458.                   +-----------------------------+
  459.                   |  DISTRIBUTION RESTRICTIONS  |
  460.                   +-----------------------------+
  461.  
  462. 1. Disk vendors (those who sell Shareware disks for a profit) must follow
  463.    the procedure outlined in the "VENDOR.DOC" file.
  464. 2. You may not charge more than $6 U.S. per diskette.
  465. 3. The files and programs on the disks may not be modified or deleted.
  466. 4. The programs cannot be sold as part of some other more inclusive package.
  467. 5. The programs cannot be rented or leased to others.
  468. 6. When distributed via a telecommunications link, all TechnoJock programs
  469.    (and documentation files) must be transferred in a library or archive
  470.    format. This means that all the files on each TechnoJock disk must be
  471.    combined into one file - one file for each TechnoJock disk.
  472.  
  473.  
  474. If you are distributing the files on a BBS, then the following four
  475. archive files must be available :
  476.  
  477.                   TOTSRC  - Source code files, REGISTER.DOC and README
  478.                   TOTDOC  - Documentation files
  479.                   TOTDEM  - Demonstration files
  480.                   TOTNG   - Norton Guides file
  481.  
  482.  
  483.        +-----------------------------------------------------------+
  484.        |  P a r t  7   -    P R I N T I N G   T H E   M A N U A L  |
  485.        +-----------------------------------------------------------+
  486.  
  487. If you did not purchase TOT (complete with printed manual) directly
  488. from TechnoJock Software, Inc., or from an authorized dealer, then you are 
  489. evaluating the program.
  490.  
  491. We have tried to provide you with everything necessary to evaluate TOT,
  492. including all the documentation, demo programs and source code. All the 
  493. documentation files have a TXT extension and the following files are
  494. provided:
  495.  
  496.      Filename          Description
  497.      ------------      -------------------------------------------
  498.      INFO     TXT      A brief description of the on-disk documentation
  499.  
  500. Part 1 - User's Guide
  501.      CHAPT1   TXT      Chapter 1     Introduction
  502.      CHAPT2   TXT      Chapter 2     Getting Started
  503.      CHAPT3   TXT      Chapter 3     Toolkit Basics
  504.      CHAPT4   TXT      Chapter 4     Determining & Controlling Hardware
  505.      CHAPT5   TXT      Chapter 5     Writing to the Screen
  506.      CHAPT6   TXT      Chapter 6     Keyboard & Mouse Input
  507.      CHAPT7   TXT      Chapter 7     Using Windows
  508.      CHAPT8   TXT      Chapter 8     Displaying Messages and Prompts
  509.      CHAPT9   TXT      Chapter 9     Managing Lists
  510.      CHAPT10  TXT      Chapter 10    Displaying Directories
  511.      CHAPT11  TXT      Chapter 11    Controlling User Input
  512.      CHAPT12  TXT      Chapter 12    Menus Menus Menus
  513.      CHAPT13  TXT      Chapter 13    Managing Dates
  514.      CHAPT14  TXT      Chapter 14    String Handling
  515.      CHAPT15  TXT      Chapter 15    Miscellaneous
  516.                                      
  517. Part 2 - Extending the Toolkit       
  518.      CHAPT16  TXT      Chapter 16    OOP Principles
  519.      CHAPT17  TXT      Chapter 17    Replacing The Screen Writer
  520.      CHAPT18  TXT      Chapter 18    Extending Windows
  521.      CHAPT19  TXT      Chapter 19    Customizing Linked Lists
  522.      CHAPT20  TXT      Chapter 20    Extending Input Field Types
  523.  
  524. Part 3 - Flash Cards
  525.      FLASH    TXT      A Not-Too-Quick Reference
  526.  
  527. Remember there is no substitute for the bound manuals which include
  528. multiple indexes, screen shots and diagrams, and a quick reference. 
  529. Each TXT file represents a chapter of the User's manual or Flash Cards. Each 
  530. file includes running headers, and there is an embedded formfeed character 
  531. at least every 60 lines. To print the documentation you can copy each file
  532. to the printer using the syntax
  533.  
  534.                COPY file.TXT PRN
  535.  
  536. or you can import the file into your word processor. Just have a lot of paper 
  537. ready!!
  538.  
  539.  
  540.  
  541.     +-----------------------------------------------------------------+
  542.     |  P a r t  8   -    I n s t a l l i n g   t h e   T o o l k i t  |
  543.     +-----------------------------------------------------------------+
  544.  
  545. Refer to the beginning of Chapter 2 - Getting Started for a description
  546. of how to install the Toolkit.
  547.  
  548.  
  549.        +------------------------------------------------------------+
  550.        |  P a r t  9   -    Association of Shareware Professionals  |
  551.        +------------------------------------------------------------+
  552.  
  553.                           _______
  554.                      ____|__     |                  (R)
  555.                   --|       |    |-------------------
  556.                     |   ____|__  |  Association of
  557.                     |  |       |_|  Shareware
  558.                     |__|   o   |    Professionals
  559.                   -----|   |   |---------------------
  560.                        |___|___|    MEMBER
  561.  
  562.  
  563. Bob Ainsbury, VP Software Development at TechnoJock Software, Inc., is a 
  564. member of the Association of Shareware  Professionals (ASP). ASP wants to 
  565. make sure that the shareware principle works for you. If you are unable to 
  566. resolve a shareware-related problem with an ASP member by contacting the 
  567. member directly, ASP may be able to help. The ASP Ombudsman can help you 
  568. resolve a dispute or problem with an ASP member, but does not provide 
  569. technical support for members' products. Please write to the ASP Ombudsman 
  570. at 545 Grover Road, Muskegon, MI 49442 or send a Compuserve message via 
  571. easyplex to ASP Ombudsman 70007,3536.
  572.  
  573.  
  574.  
  575.                           That's All, Folks!
  576.